package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TbDeptMapper;
import com.ruoyi.system.domain.TbDept;
import com.ruoyi.system.service.ITbDeptService;

/**
 * 部门信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-04-10
 */
@Service
public class TbDeptServiceImpl implements ITbDeptService 
{
    @Autowired
    private TbDeptMapper tbDeptMapper;

    /**
     * 查询部门信息
     * 
     * @param id 部门信息主键
     * @return 部门信息
     */
    @Override
    public TbDept selectTbDeptById(Long id)
    {
        return tbDeptMapper.selectTbDeptById(id);
    }

    /**
     * 查询部门信息列表
     * 
     * @param tbDept 部门信息
     * @return 部门信息
     */
    @Override
    public List<TbDept> selectTbDeptList(TbDept tbDept)
    {
        return tbDeptMapper.selectTbDeptList(tbDept);
    }

    /**
     * 新增部门信息
     * 
     * @param tbDept 部门信息
     * @return 结果
     */
    @Override
    public int insertTbDept(TbDept tbDept)
    {
        tbDept.setCreateTime(DateUtils.getNowDate());
        return tbDeptMapper.insertTbDept(tbDept);
    }

    /**
     * 修改部门信息
     * 
     * @param tbDept 部门信息
     * @return 结果
     */
    @Override
    public int updateTbDept(TbDept tbDept)
    {
        tbDept.setUpdateTime(DateUtils.getNowDate());
        return tbDeptMapper.updateTbDept(tbDept);
    }

    /**
     * 批量删除部门信息
     * 
     * @param ids 需要删除的部门信息主键
     * @return 结果
     */
    @Override
    public int deleteTbDeptByIds(Long[] ids)
    {
        return tbDeptMapper.deleteTbDeptByIds(ids);
    }

    /**
     * 删除部门信息信息
     * 
     * @param id 部门信息主键
     * @return 结果
     */
    @Override
    public int deleteTbDeptById(Long id)
    {
        return tbDeptMapper.deleteTbDeptById(id);
    }

    /**
     * 查询部门(一级下拉)
     *
     * @return 部门信息集合
     */
    @Override
    public List<TbDept> selectFristStep()
    {
        return tbDeptMapper.selectFristStep();
    }

    /**
     * 查询部门(二级下拉)
     *
     * @param id 部门信息主键
     * @return 部门信息集合
     */
    @Override
    public List<TbDept> selectSecondStep(Long id)
    {
        return tbDeptMapper.selectSecondStep(id);
    }
}
